RoArm-M2-S Python HTTP请求通信

Python HTTP请求通信

本章节主要介绍了如何运行Python程序通过HTTP请求与机械臂进行通信。

HTTP(Hypertext Transfer Protocol)是一种用于在Web上进行数据通信的协议,它是属于应用层的面向对象的协议。主要是基于WIFI模块实现的无线通信,请求-响应模型灵活且简单。

在运行Python例程前,您需要先在您的系统上安装好Python,且部署好Python的虚拟环境及安装好所有例程需要用到的安装包,具体教程可以见RoArm-M2-S_Python串口通信控制中的步骤。


在 RoArm-M2-S Python 例程中可以看见其中有四个 Python 程序,HTTP请求通信用到的 Python 例程为 http_simple_ctrl.py。例程如下:

import requests
import argparse


def main():
    parser = argparse.ArgumentParser(description='Http JSON Communication')
    parser.add_argument('ip', type=str, help='IP address: 192.168.10.104')

    args = parser.parse_args()

    ip_addr = args.ip

    try:
        while True:
            command = input("input your json cmd: ")
            url = "http://" + ip_addr + "/js?json=" + command
            response = requests.get(url)
            content = response.text
            print(content)
    except KeyboardInterrupt:
        pass


if __name__ == "__main__":
    main()

在运行程序前您需要确认机械臂的ip地址。确认机械臂ip地址跟机械臂所处的WIFI模式息息相关,具体可以参考教程RoArm-M2-S_WIFI配置

  • 如果机械臂 WIFI 模式仅处于 AP 模式,则 IP 地址为192.168.4.1;
  • 如果机械臂 WIFI 模式处于 STA 模式,则可以在机械臂的OLED屏幕上获得该机械臂的 IP 地址。

使用以下命令来运行HTTP请求通信程序。命令中的 IP 地址要更改为您机械臂的 IP 地址。

python http_simple_ctrl.py 192.168.4.1

注意:无论是哪一种模式下,机械臂需要与该脚本运行的设备处于同一个局域网内。


运行完成后,可以看见返回的信息,接着可以输入JSON格式的指令,也可以获取机械臂的反馈信息,从而与机械臂进行通信。

更多 JSON 格式指令的含义参考教程 RoArm-M2-S_JSON指令含义


例程